    /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package prop;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import java.util.Vector;
/**
 *
 * @author Jose Maria Palacio
 */
public class Estrategia implements Serializable {
    protected Vector<Regla> reglas;
    protected Map<String,String> variables;
    protected Mesa mesa;
    protected Jugador jugador;

    public Estrategia() {
        reglas = new Vector<Regla>();
        variables = new HashMap<String,String>();
    }

    void addRegla(Regla r) {
        reglas.add(r);
    }

    public Accion actua() {
        for (int i = 0; i < reglas.size(); ++i) {
            if (reglas.get(i).evalua()) return reglas.get(i).getAccion();
        }
        return new Accion("PorDefecto");
    }

    public int getInt(String s) {
        char c = s.charAt(0);
        if (c >= '0' && c <= '9') {
             return Integer.parseInt(s);
        }
        return Integer.parseInt(variables.get(s));
    }

    public String getString(String s) {
        char c = s.charAt(0);
        if (c >= 'A' && c <= 'Z') {
             return s;
        }
        return variables.get(s);
    }

    public void setValor(String s1, String s2) {
        variables.put(s1, s2);
    }

    public Mesa getMesa() {
        return mesa;
    }

    public void setMesa(Mesa m) {
        mesa = m;
    }

    public Jugador getJugador() {
        return jugador;
    }

    public void setJugador(Jugador j) {
        jugador = j;
    }
}